package com.leunpha.mini.net;


import java.io.IOException;
import java.io.InputStream;
import java.util.Observer;

/**
 * User: zhoujingjie
 * Date: 14-5-13
 * Time: 下午1:30
 */
public interface Request {
    /**
     * 设置请求头
     * @param name
     * @param value
     */
    void setRequestHeader(String name,String value);


    /**
     * 返回请求状态
     * @return
     */
    int getStatusCode();

    /**
     * 返回网页编码
     * @param result    网页html
     * @return
     */
    String getPageEncoding(String result);

    /**
     * 返回网页字符串
     * @return
     * @throws IOException
     */
    String getResponseByAsString() throws IOException;

    /**
     * 返回流
     * @return
     * @throws IOException
     */
    InputStream getResponseAsStream() throws IOException;

    /**
     * 获取返回头
     * @param key
     * @return
     */
    String getResponseHeader(String key);

    /**
     * 获取长度
     * @return
     */
    long getContentLength();


    void execute() throws IOException;

    void close();
}
